// #include <stdio.h>//用迭代的方式求斐波那契数列的第n项
// int main()
// {
//     int a,b,c;
//     a=1;
//     b=1;
//     c=1;
//     int n;
//     scanf("%d",&n);
//     if(n>=3)
//     {
//        for(int i=3;i<=n;i++)
//       {
//         c=a+b;
//         a=b;
//         b=c;
//       }
//     }
//     printf("%d",c);
//     return 0;
// }


// #include <stdio.h>//用递归的方式求斐波那契数列的第n项
// int fib(int n)
// {
//     if(n==1||n==2)
//     {
//         return 1;
//     }
//     else
//     {
//         return fib(n-1)+fib(n-2);
//     }
// }
// int main()
// {
//     int n;
//     scanf("%d",&n);
//     int a=fib(n);
//     printf("%d",a);
//     return 0;
// }


// #include <stdio.h>//用递归的方式求n的k次方
// int n_k(int n,int k)
// {
//     if(k==1)
//     {
//         return n;
//     }
//     else
//     {
//         return n*n_k(n,k-1);
//     }
// }
// int main()
// {
//     int n,k;
//     scanf("%d%d",&n,&k);
//     int a=n_k(n,k);
//     printf("%d",a);
//     return 0;
// }


// #include <stdio.h>//用递归的方式求一个整数的每一位之和
// int mxh(int n)
// {
//     if(n==0)
//     {
//         return 0;
//     }
//     else
//     {
//         return n%10+mxh(n/10);
//     }
// }
// int main()
// {
//     int n;
//     scanf("%d",&n);
//     int a=mxh(n);
//     printf("%d",a);
//     return 0;
// }


// #include <stdio.h>//用递归的方式求n的阶乘
// int jc(int n)
// {
//     if(n==1)
//     {
//         return 1;
//     }
//     else
//     {
//         return n*jc(n-1);
//     }
// }
// int main()
// {
//     int n;
//     scanf("%d",&n);
//     int a=jc(n);
//     printf("%d",a);
//     return 0;
// }


// #include <stdio.h>//用迭代的方式求n的阶乘
// int jcc(int n)
// {
//     int x=1;
//     for(int i=1;i<=n;i++)
//     {
//         x*=i;
//     }
//     return x;
// }
// int main()
// {
//     int n;
//     scanf("%d",&n);
//     int c=jcc(n);
//     printf("%d",c);
//     return 0;
// }



// #include <stdio.h>
// void sxdymyws(int n)//用递归的方式顺序打印一个整数的每一位
// {
//     if(n>9)
//     {
//         sxdymyws(n/10);
//     }
//     printf("%d ",n%10);
// }
// void nxdymyws(int n)//用递归的方式逆序打印一个整数的每一位
// {
//     printf("%d ",n%10);
//     if(n>9)
//     {
//         nxdymyws(n/10);
//     }
// }
// int main()
// {
//     int n;
//     scanf("%d",&n);
//     sxdymyws(n);
//     printf("\n");
//     nxdymyws(n);
//     return 0;
// }



// #include <stdio.h>//打印n行的杨辉三角
// int main()
// {
//     int n;
//     scanf("%d",&n);
//     for(int i=1;i<=n;i++)
//     {
//         for(int j=1;j<=n-i;j++)
//         {
//             printf(" ");
//         }
//         for(int j=1;j<=2*i-1;j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
//     for(int i=1;i<=n-1;i++)
//     {
//         for(int j=1;j<=i;j++)
//         {
//             printf(" ");
//         }
//         for(int j=1;j<=2*(n-i)-1;j++)
//         {
//             printf("*");
//         } 
//         printf("\n");
//     }
//     return 0;
// }


// #include <stdio.h>//打印100000以内的水仙花数
// #include <math.h>
// void sxhs(int n)
// {
//     int count=0;
//     int m=n;
//     int h=n;
//     while(m)
//     {
//         m/=10;
//         count++;
//     }
//     int sum=0;
//     while(h)
//     {
//         sum+=pow(h%10,count);
//         h/=10;
//     }
//     if(sum==n)
//     {
//         printf("%d ",n);
//     }
// }
// int main()
// {
//     int i;
//     for(i=0;i<=100000;i++)
//     {
//         sxhs(i);
//     }
//     return 0;
// }


#include <stdio.h>//求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和，其中a是一个数字，例如：2+22+222+2222+22222
int sssss(int a)
{
    int s=0;
    int b=a;
    for(int i=1;i<=5;i++)
    {
        s+=a;
        a=a*10+b;
    }
    return s;
}
int main()
{
    int a;
    scanf("%d",&a);
    int s=sssss(a);
    printf("%d",s);
    return 0;
}